package com.jzo2o.common.constants;

/**
 * 通用异常信息常量类，统一管理系统级别的异常消息和业务错误编码
 */
public class ErrorInfo {
    /**
     * 异常消息常量内部类，定义各类操作场景的异常描述文本
     */
    public static class Msg {
        /**
         * 通用处理失败消息（适用于无特定描述的失败场景）
         */
        public static final String PROCESS_FAILD = "失败";

        /**
         * 请求参数不合法的默认提示信息
         */
        public static final String REQUEST_PARAM_ILLEGAL = "请求参数不合法";

        /**
         * 操作频率过高的提示信息
         */
        public static final String REQUEST_OPERATE_FREQUENTLY = "操作频繁,请稍后重试";

        /**
         * 请求处理超时的提示信息
         */
        public static final String REQUEST_TIME_OUT = "请求超时";

        /**
         * 请求执行失败的通用提示信息
         */
        public static final String REQUEST_FAILD = "请求失败";

        /**
         * 访问被拒绝的提示信息（如权限拦截）
         */
        public static final String REQUEST_FORBIDDEN = "拒绝访问";

        /**
         * 身份未验证通过的提示信息（如token无效）
         */
        public static final String REQUEST_UNAUTHORIZED = "身份未识别";

        /**
         * 无对应操作权限的提示信息
         */
        public static final String NO_PERMISSIONS = "无访问权限";

        /**
         * 业务规则限制下禁止操作的提示信息
         */
        public static final String FORBIDDEN_OPERATION = "禁止操作";
    }

    /**
     * 错误编码常量内部类，定义系统及业务场景的唯一错误标识
     * 编码范围：600-699（自定义业务错误码段）
     */
    public static class Code {
        /**
         * 未登录状态错误码
         */
        public static final int NOT_LOGIN = 600;

        /**
         * 登录会话过期错误码
         */
        public static final int LOGIN_TIMEOUT = 601;

        /**
         * Token格式或内容不合法错误码
         */
        public static final int ILLEGAL_TOKEN = 602;

        /**
         * 无指定资源访问权限错误码
         */
        public static final int NO_PERMISSIONS = 603;

        /**
         * 违反业务规则禁止操作错误码
         */
        public static final int FORBIDDEN_OPERATION = 604;

        /**
         * 用户账号被冻结错误码
         */
        public static final int ACCOUNT_FREEZED = 605;

        /**
         * 服务人员拒绝接单错误码
         */
        public static final int DISPATCH_REJECT = 606;

        /**
         * 机构或服务端取消订单失败错误码
         */
        public static final int ORDERS_CANCEL = 607;

        /**
         * 服务人员抢单失败错误码
         */
        public static final int SEIZE_ORDERS_FAILD = 608;

        /**
         * 支付等交易流程失败错误码
         */
        public static final int TRADE_FAILED = 609;

        /**
         * 调用评价系统HTTP接口失败错误码
         */
        public static final int HTTP_EVALUATION_FAILED = 610;

        /**
         * 用户领取优惠券失败错误码
         */
        public static final int SEIZE_COUPON_FAILD = 611;
    }
}
